/*
 * Copyright (c) 2004, Steven Baldasty <sbaldasty@bitflippin.org>
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * Contributors:
 *    Steven Baldasty <sbaldasty@bitflippin.org>
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 *
 */

package org.bitflippin.ninjarobots;

import java.awt.Container;
import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;

// Main frame for NinjaRobots project.
// Serves as global data area.
// Contains public data concerning scenario, robot programs, and simulation.

public class NinjaRobots extends JFrame {

	// Instantiate frame.
	public static void main(String args[])  {
		JFrame f = new NinjaRobots();
		f.setVisible(true);
	}

	// Scenario IDE.
	// Initialized by setup constructor.
	public Scenario scenario;

	// Team IDE's - contain both IDE and team information.
	// Initialized by program panel in setup.
	public Team team[] = new Team[Team.TEAMS];

	// Setup screen.
	public JPanel setupPanel = new SetupPanel(this);

	// Simulation screen.
	// Initialized by setup constructor.
	public Simulation simulation;

	// Initialize components.
	// Make setup panel visible first.
	public NinjaRobots()  {
		super();
		new CustomAdapter(this);
		setSize(500, 425);
		setTitle("NinjaRobots");
		setResizable(false);
		Container c = getContentPane();
		c.setLayout(new FlowLayout());
		simulation = new Simulation(this);
		setupPanel.setVisible(true);
	}

}
